package com.finna.tenant.service;

import com.finna.tenant.dto.PageResponse;
import com.finna.tenant.dto.TenantDTO.TenantCreateRequest;
import com.finna.tenant.dto.TenantDTO.TenantListRequest;
import com.finna.tenant.dto.TenantDTO.TenantResponse;
import com.finna.tenant.dto.TenantDTO.TenantUpdateRequest;

/**
 * 租户Service
 */
public interface TenantService {
    
    /**
     * 创建租户
     */
    TenantResponse create(TenantCreateRequest request, Long userId);
    
    /**
     * 修改租户
     */
    TenantResponse update(Long id, TenantUpdateRequest request);
    
    /**
     * 删除租户
     */
    void delete(Long id);
    
    /**
     * 获取租户详情
     */
    TenantResponse getById(Long id);
    
    /**
     * 获取租户列表（分页）
     */
    PageResponse<TenantResponse> list(TenantListRequest request);
}